In previously implemented data server technologies, each independent client has a specific connection, session, and query/transaction status that is distinct from that of every other independent client. For example, in SQL database management systems, each client application creates a connection to the Database Management System (DBMS), a session context, and queries (opens a cursor) to support data fetching operations and update operations. Additionally, in many Structured Query Language (SQL) systems, stored procedures are invoked to help with cursor navigation or the processing of data elements. Both the cursor state and the execution of stored procedures using the cursor are completely private to one client application. Any sharing of data or processing resources, with other independent client applications, would have to be enabled by the originating client via a completely proprietary mechanism.
OnLine Analytical Processing (OLAP) data server systems provide technologies and techniques similar to SQL systems, but are distinguished by their data models and processing operations. OLAP data server systems have also, previously, provided data and processing operations to only one independent client application at a time.
One problem is that OLAP data servers allow data specialists to work with specific subsets of an analytical database for long periods of time, without updating or refreshing the data used, in order to support long sessions of incremental analysis with a stable base of data. Data updates are not available to other, independent clients because they exist only within the session and transaction context of the current client.
In certain OLAP application systems, another problem results from the integration of several independent client applications. Each client application is designed to run as a separate process and creates an independent relationship with the data server technology, but they need to act like one application when they interact with data.